package cn.iocoder.yudao.module.erp.dal.dataobject.product;

import lombok.*;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 物料计划资料 DO
 *
 * @author 芋道源码
 */
@TableName("erp_materialplan")
@KeySequence("erp_materialplan_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ErpProductPlanDO extends BaseDO {

    /**
     * 编号
     */
    @TableId
    private Long fid;
    /**
     * 计划状态
     */
    private Long fstatus;
    /**
     * 禁用组织
     */
    private String ffreezeorgunit;
    /**
     * 物料
     */
    private Long fmaterialid;
    /**
     * 物料属性
     */
    private String fmaterialattr;
    /**
     * 制造策略
     */
    private Long fplanstrategy;
    /**
     * 物料特性
     */
    private Long fmaterialchar;
    /**
     * 生产计量单位
     */
    private String fproductunitid;
    /**
     * 需求分配
     */
    private Long fisdemandassign;
    /**
     * 是否最大批量法
     */
    private Integer fismaxbatchmethod;
    /**
     * 最大批量
     */
    private BigDecimal fmaxbatchqty;
    /**
     * 是否最小批量法
     */
    private Integer fisminbatchmethod;
    /**
     * 最小批量
     */
    private BigDecimal fminbatchqty;
    /**
     * 是否取整倍数
     */
    private Integer fisroundupmultiple;
    /**
     * 批量倍数
     */
    private BigDecimal froundupmultipleqty;
    /**
     * 是否批量增量
     */
    private Integer fisbatchincmethod;
    /**
     * 批量增量
     */
    private BigDecimal fbatchincqty;
    /**
     * 提前期(天)
     */
    private Long fproduceleadtime;
    /**
     * 收货提前期(天)
     */
    private Long frecevingleadtime;
    /**
     * 成品率
     */
    private BigDecimal fyield;
    /**
     * 损耗率
     */
    private BigDecimal fscraprate;
    /**
     * 损耗计算公式
     */
    private Long fscraprateexpression;
    /**
     * 需求合并
     */
    private Long fismergesign;
    /**
     * 合并规则
     */
    private Long fmergerule;
    /**
     * 冲销模式
     */
    private Long foffsetmode;
    /**
     * 向前冲销期间
     */
    private Long fforwarddaysoffset;
    /**
     * 向后冲销期间
     */
    private Long fbackwarddaysoffset;
    /**
     * 生产线排成
     */
    private Long fisproductlineplan;
    /**
     * 领料限额控制
     */
    private Long fisquotacontrol;
    /**
     * 批间隔时间
     */
    private Long finteval;
    /**
     * 主联副产品
     */
    private Long foutputtype;
    /**
     * 责任部门
     */
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private Long fdutydepartment;
    /**
     * 是否倒冲
     */
    private Integer fisbackflush;
    /**
     * 前处理时间
     */
    private Long fforwardprocesstime;
    /**
     * 后处理时间
     */
    private Long fbackwardprocesstime;
    /**
     * 领送料模式
     */
    private Long fissmode;
    /**
     * 领料提前期
     */
    private Long fissleadtime;
    /**
     * 提前期类型
     */
    private Long fleadtimetype;
    /**
     * 供应类型
     */
    private Long fprovidetype;
    /**
     * 入库允差基数
     */
    private Long frcvdispersionbase;
    /**
     * 汇报上限允差
     */
    private BigDecimal frptinhightlimit;
    /**
     * 汇报下限允差
     */
    private BigDecimal frptinlowlimit;
    /**
     * 入库上限允差
     */
    private BigDecimal frcvinhightlimit;
    /**
     * 入库下限允差
     */
    private BigDecimal frcvinlowlimit;
    /**
     * 领料上限允差
     */
    private BigDecimal fissinhightlimit;
    /**
     * 领料下限允差
     */
    private BigDecimal fissinlowlimit;
    /**
     * 批量政策
     */
    private Long fbatchpolicy;
    /**
     * 固定批量
     */
    private BigDecimal ffixationbatchqty;
    /**
     * 物料消耗速率
     */
    private BigDecimal fconsumespeed;
    /**
     * 再订货点
     */
    private BigDecimal frebookqty;
    /**
     * 计划方式
     */
    private Long fplanningmode;
    /**
     * 计划员
     */
    private String fplanner;
    /**
     * 暂存或保存标记
     */
    private Long feffectedstatus;
    /**
     * 制造策略
     */
    private String fmanufacturestrategyid;
    /**
     * 检验
     */
    private Long fischeck;
    /**
     * 首件检验
     */
    private Long fisfirstcheck;
    /**
     * 关重件
     */
    private Long fiskeypart;
    /**
     * 质检组织
     */
    private String fqualityorgid;
    /**
     * 替换方式
     */
    private Long freplacemode;
    /**
     * 投放选择
     */
    private Long fthrowmode;
    /**
     * 剩余时间不排程(分钟)
     */
    private Long fremaintimenoplan;
    /**
     * 调拨批量
     */
    private BigDecimal ftransferbatch;
    /**
     * 已有替代料
     */
    private Long fhasreplacematerial;
    /**
     * 生产线
     */
    private String fproductlineid;
    /**
     * 是否可配置
     */
    private Long fisconfigable;
    /**
     * 备料调拨
     */
    private Long fisstockallot;
    /**
     * 是否集中采购件
     */
    private Long fiscentralizedpar;
    /**
     * 默认采购组织
     */
    private String fpurorgid;
    /**
     * 生产事务类型
     */
    private String fproducttrantype;
    /**
     * 需求合并规则
     */
    private String frequniteruleid;
    /**
     * 入库限额控制
     */
    private Long fisstoragelimit;
    /**
     * 汇报限额控制
     */
    private Long fisreportinglimit;
    /**
     * 隔离规则
     */
    private String fisolatedrule;
    /**
     * 部件相关需求消耗
     */
    private Long fiscomreqconsume;
    /**
     * 周期
     */
    private BigDecimal fbatchcycle;
    /**
     * 分割类型
     */
    private Long fpartitiontype;
    /**
     * 分割数量(天)
     */
    private BigDecimal fpartitiondays;
    /**
     * 计划不可投放
     */
    private Long fisplannorelease;
    /**
     * 变动提前期(天)
     */
    private Long fchangeleadtime;
    /**
     * 变动批量
     */
    private Long fchangebatch;
    /**
     * 计划部门
     */
    private String fplanorgid;
    /**
     * 富余量挪用
     */
    private Long fismargin;

}